home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / free-compilers / part4 < prev    next >
Encoding:
Text File  |  1995-07-25  |  62.8 KB  |  1,633 lines

  1. Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
  2. Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
  3. From: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
  4. Date: Thu, 17 Nov 1994 01:16:58 GMT
  5.  
  6. Archive-name: free-compilers/part4
  7. Last-modified: 1994/11/16
  8. Version: 7.0
  9.  
  10. concurrent, parallel, and simulation languages
  11. -------------------------------------------------------------------------------
  12. category:    concurrent, parellel, and simulation languages
  13. description:    This is a fairly broad category of languages.  Most of the
  14.         implementations in this set are not good enough to be used in
  15.         production systems.  Some are.    In addition to those listed
  16.         below, see:
  17. lref:        Concurrent Clean
  18. lref:        Concurrent ML
  19. lref:        EuLisp
  20. lref:        Parallaxis
  21. lref:        Maisie
  22. lref:        uC++
  23. lref:        MeldC
  24. lref:        pm2
  25. iref:        (Tcl) MTtcl - Multi-threaded Tcl
  26.  
  27. language:    ABCL/1 (An object-Based Concurrent Language)
  28. package:    ABCL/1 
  29. version:    ?
  30. parts:        ?
  31. author:        Akinori Yonezawa, ABCL Group now at Department of Information 
  32.         Science, the University of Tokyo
  33. location:    ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
  34. description:    Asynchronous message passing to objects.  
  35. reference:    "ABCL: An Object-Oriented Concurrent System", Edited by 
  36.         Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
  37. restriction:    no commercial use, must return license agreement
  38. requires:    Common Lisp
  39. contact:    abcl@is.s.u-tokyo.ac.jp
  40. updated:    1990/05/23
  41.  
  42. language:    ABCL ???
  43. package:    ABCL/R2
  44. version:    ?
  45. parts:        ?
  46. author:        masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
  47.         takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
  48. location:    ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
  49. description:    ABCL/R2 is an object-oriented concurrent reflective language
  50.         based on Hybrid Group Architecture.  As a reflective language,
  51.         an ABCL/R2 program can dynamically control its own behavior,
  52.         such as scheduling policy, from within user-program.  An an
  53.         object-oriented concurrent language, this system has almost all
  54.         functions of ABCL/1.
  55. requires:    Common Lisp
  56. updated:    1993/01/28
  57.  
  58. language:    ALLOY
  59. package:    ALLOY
  60. version:    2.0?
  61. parts:        interpreter, documentation, examples
  62. author:        Thanasis Mitsolides <mitsolid@cs.nyu.edu>
  63. location:    ftp pub/local/alloy/* from cs.nyu.edu
  64. description:    ALLOY is a higher level parallel programming language
  65.         appropriate for programming massively parallel computing
  66.         systems.  It is based on a combination of ideas from
  67.         functional, object oriented and logic programming languages.
  68.         The result is a language that can directly support
  69.         functional, object oriented and logic programming styles
  70.         in a unified and controlled framework.    Evaluating modes
  71.         support serial or parallel execution, eager or lazy
  72.         evaluation, non-determinism or multiple solutions etc.
  73.         ALLOY is simple as it only requires 29 primitives in all
  74.         (half of which for Object Oriented Programming support).
  75. ports:        sparc, ?
  76. updated:    1991/06/11
  77.  
  78. language:    Cellang (Cellular Automata)
  79. package:    Cellular
  80. version:    2.0
  81. parts:        byte-code compiler, runtime, viewer
  82. author:        J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
  83. location:    comp.sources.unix, volume 26
  84. description:    A system for cellular automata programming.
  85. updated:    1993/04/03
  86.  
  87. language:    Hermes
  88. package:    IBM Watson prototype Hermes system
  89. version:    0.8alpha patchlevel 01
  90. parts:        bytecode compiler, compiler(bytecode->C), runtime
  91. author:        Andy Lowry <lowry@watson.ibm.com>
  92. location:    ftp pub/hermes/README from software.watson.ibm.com
  93. description:    Hermes is a very-high-level integrated language and
  94.         system for implementation of large systems and
  95.         distributed applications, as well as for
  96.         general-purpose programming.  It is an imperative,
  97.         strongly typed, process-oriented language.  Hermes
  98.         hides distribution and heterogeneity from the
  99.         programmer.  The programmer sees a single abstract
  100.         machine containing processes that communicate using
  101.         calls or sends.     The compiler, not the programmer,
  102.         deals with the complexity of data structure layout,
  103.         local and remote communication, and interaction with
  104.         the operating system.  As a result, Hermes programs are
  105.         portable and easy to write.  Because the programming
  106.         paradigm is simple and high level, there are many
  107.         opportunities for optimization which are not present in
  108.         languages which give the programmer more direct control
  109.         over the machine.
  110. reference:    Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
  111.          Language for Distributed Computing. Prentice-Hall, Englewood
  112.          Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
  113. ports:        RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
  114. discussion:    comp.lang.hermes
  115. updated:    1992/03/22
  116.  
  117. language:    PCN
  118. package:    PCN
  119. version:    2.0
  120. parts:        compiler?, runtime, linker, libraries, tools, debugger, 
  121.         profiler, tracer
  122. author:        Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
  123.         <tuecke@mcs.anl.gov>, and others
  124. location:    ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
  125. description:    PCN is a parallel programming system designed to improve
  126.         the productivity of scientists and engineers using parallel
  127.         computers.  It provides a simple language for specifying
  128.         concurrent algorithms, interfaces to Fortran and C, a
  129.         portable toolkit that allows applications to be developed
  130.         on a workstation or small parallel computer and run
  131.         unchanged on supercomputers, and integrated debugging and
  132.         performance analysis tools.  PCN was developed at Argonne
  133.         National Laboratory and the California Institute of
  134.         Technology.  It has been used to develop a wide variety of
  135.         applications, in areas such as climate modeling, fluid
  136.         dynamics, computational biology, chemistry, and circuit
  137.         simulation.
  138. ports:        (workstation nets): Sun4, NeXT, RS/6000, SGI
  139.         (multicomputers): iPSC/860, Touchstone DELTA
  140.         (shared memory multiprocessors): Symmetry/Dynix
  141. contact:    <pcn@mcs.anl.gov>
  142. updated:    1993/02/12
  143.  
  144. language:    LOOPN
  145. package:    LOOPN
  146. version:    ?
  147. parts:        compiler?, simulator
  148. author:        ?
  149. location:    ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
  150. description:    I wish to announce the availability of a compiler, simulator
  151.         and associated source control for an object-oriented petri net
  152.         language called LOOPN.    In LOOPN, a petri net is an extension
  153.         of coloured timed petri nets.  The extension means firstly that
  154.         token types are classes.  In other words, they consist of both
  155.         data fields and functions, they can be declared by inheriting
  156.         from other token types, and they can be used polymorphically.
  157.         The object-oriented extensions also mean that module or subnet
  158.         types are classes.  LOOPN has been developed over a period of
  159.         about 5 years at the University of Tasmania, where it has been
  160.         used in teaching computer simulation and the modelling of
  161.         network protocols.  A petri net is a directed, bipartite graph;
  162.         nodes are either places (represented by circles) or transitions
  163.         (represented by rectangles).  A net is marked by placing tokens
  164.         on places.  When all the places pointing to a transition (the
  165.         input places) have a token, the net may be fired by removing a
  166.         token from each input place and adding a token to each place
  167.         pointed to by the transition (the output places).  Petri nets
  168.         are used to model concurrent systems, particularly in the
  169.         network protocol area.
  170. contact:    Charles Lakos <charles@probitas.cs.utas.edu.au>
  171. updated:    1992/12/20
  172.  
  173. language:    Simula
  174. package:    Lund Simula
  175. version:    4.07
  176. parts:        ?
  177. author:        ?
  178. location:    ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
  179. description:    ?
  180. contact:    Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
  181. updated:    1992/05/22
  182.  
  183. language:    SR (Synchronizing Resources)
  184. package:    sr
  185. version:    2.0 
  186. parts:        ?, documentation, tests
  187. author:        ?
  188. location:    ftp sr/sr.tar.Z from cs.arizona.edu
  189. description:    SR is a language for writing concurrent programs.
  190.         The main language constructs are resources and
  191.         operations.  Resources encapsulate processes and
  192.         variables they share; operations provide the primary
  193.         mechanism for process interaction.  SR provides a novel
  194.         integration of the mechanisms for invoking and
  195.         servicing operations.  Consequently, all of local and
  196.         remote procedure call, rendezvous, message passing,
  197.         dynamic process creation, multicast, and semaphores are
  198.         supported.
  199. reference:    "The SR Programming Language: Concurrency in Practice", 
  200.          by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
  201.          Publishing Company, 1993, ISBN 0-8053-0088-0
  202. ports:        Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
  203.         NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
  204.         Apollo, and others.
  205. discussion:    info-sr-request@cs.arizona.edu
  206. contact:    sr-project@cs.arizona.edu
  207. updated:    1992/09/01
  208.  
  209. language:    UNITY
  210. package:    MasPar Unity
  211. version:    1.0
  212. parts:        translator(UNITY->MPL), documentation
  213. author:        Martin Huber, University of Karlsruhe, Germany
  214. location:    ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
  215. description:    ?
  216. contact:    Lutz Prechelt <prechelt@ira.uka.de>
  217. updated:    ?
  218.  
  219. language:    UNITY
  220. package:    HOL-UNITY
  221. version:    2.1
  222. parts:        verification tool
  223. author:        ?
  224. location:    ?
  225. description:    ?
  226. contact:    Flemming Andersen <fa@tfl.dk> ?
  227. updated:    ?
  228.  
  229. Forth family languages
  230. -------------------------------------------------------------------------------
  231. category:    Forth family languages
  232. description:    These are the stack-based postfix languages, usually
  233.         interpreted, descended from the FORTH language originally
  234.         developed for telescope control.
  235. lref:        Postscript
  236. iref:        (mc6809) 6809, E-Forth
  237.  
  238. language:    Forth
  239. package:    TILE Forth
  240. version:    2.1
  241. parts:        interpreter
  242. author:        Mikael Patel <mip@sectra.se>
  243. location:    ftp tile-forth-2.1.tar.Z from a GNU archive site
  244. description:    Forth interpreter in C; many Forth libraries
  245. conformance:    Forth83
  246. restriction:    shareware/GPL
  247. ports:        unix
  248. updated:    1991/11/13
  249.  
  250. language:    Forth
  251. package:    cforth
  252. version:    ?
  253. parts:        interpreter
  254. author:        ?
  255. location:    comp.sources.unix archive volume 1
  256. description:    ?
  257. updated:    ?
  258.  
  259. language:    Forth
  260. package:    pfe (Portable Forth Environment)
  261. version:    0.9.4
  262. parts:        ?
  263. author:        Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
  264. location:    ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
  265. description:    A Forth development system that tries to be correct,
  266.         complete, portable, usable and simple.    It doesn't try too
  267.         hard to be fast.
  268. conformance:    all dpANS word sets
  269. ports:        Linux, RS/6000, HP-UX
  270. portability:    high
  271. updated:    1994/05/02
  272.  
  273. language:    Forth
  274. package:    F68K
  275. version:    ?
  276. parts:        ?
  277. author:        ?
  278. location:    ftp atari/Languages/f68k.* from archive.umich.edu
  279. description:    a portable Forth system for Motorola 68k computers
  280. ports:        Atari ST/TT, Amiga, Sinclair QL and OS9
  281. portability:    very high for 68000 based systems
  282. contact:    Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
  283. updated:    1992/12/14
  284.  
  285. language:    Forth
  286. package:    51forth
  287. version:    ?
  288. parts:        ?
  289. author:        Scott Gehmlich
  290. location:    ftp giovanni/51forth.zip from [130.123.96.9]
  291. description:    source and documentation for a 8051 subroutine-
  292.         threaded forth
  293. contact:    ?
  294. updated:    1993/04/03
  295.  
  296. language:    Forth
  297. package:    M4th
  298. version:    ?
  299. parts:        interpreter, kernel, editor, application (8086 assembler),
  300.         hypertext-based documentation, decompiler
  301. author:        Nils M. Holm <fs29@rummelplatz.uni-mannheim.de>
  302. location:    ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip
  303. description:    A small Forth implementation
  304. ports:        MSDOS.
  305. updated:    1994/06/28
  306.  
  307. language:    Forth
  308. package:    ThisForth
  309. version:    ?
  310. author:        ?
  311. location:    ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com
  312. description:    ThisForth has been built for Macintosh and PowerMac.There is
  313.         still a single source for all incarnations. For now there is
  314.         just a console interface for the Mac and PowerMac.
  315. ports:        Macintosh, PowerMac
  316. updated:    1994/09/20
  317.  
  318. language:    Mops
  319. package:    Mops
  320. version:    2.3.1
  321. parts:        compiler, documentation, editor
  322. author:        Michael Hore <mikeh@kralizec.zeta.org.au>
  323. location:    ftp pub/Yerk/? from oddjob.uchicago.edu
  324. description:    Like Yerk, Mops is descended from the ex-commercial
  325.         object-oriented language Neon. Mops features an
  326.         optimizing native-code compiler; it is much faster
  327.         than Yerk, but less compatible with Neon. Mops
  328.         includes extensions such as multiple inheritance.
  329. ports:        Macintosh
  330. updated:    ?
  331.  
  332. language:    Kevo (Forth-like)
  333. package:    kevo
  334. version:    0.9b6
  335. parts:        interpreter, demo programs, user's guide, papers
  336. author:        Antero Taivalsaari <tsaari@cs.uta.fi>
  337. location:    ftp /pub/kevo/* from cs.uta.fi
  338. description:    Kevo is a prototype-based object-oriented language for
  339.         Macintosh Kevo features a unique prototype-based object model
  340.         (which is based neither on classes nor Self-style delegation),
  341.         multitasking (both preemptive and cooperative), dynamic memory
  342.         management, and an icon-based object browser and editor modeled
  343.         loosely after Mac Finder. Kevo has been built around a portable
  344.         threaded code interpreter, and is syntactically a close
  345.         derivative of Forth.
  346. ports:        Macintosh
  347. contact:    kevo-interest@ursamajor.uvic.ca
  348. updated:    1993/05/18
  349.  
  350. language:    Yerk
  351. package:    Yerk
  352. version:    3.62
  353. parts:        ?
  354. author:        ?
  355. location:    ftp pub/Yerk/? from oddjob.uchicago.edu
  356. description:    Yerk is an object oriented language based on a
  357.         Forth Kernel with some major modifications.  It
  358.         was originally known as Neon, developed and sold
  359.         as a product by Kriya Systems from 1985 to 1989.
  360.         Several of us at The University of Chicago have
  361.         maintained Yerk since its demise as a product.
  362.         Because of the possible trademark conflict that
  363.         Kriya mentions, we picked the name Yerk, which is
  364.         at least not an acronym for anything, but rather
  365.         stands for Yerkes Observatory, part of the Department
  366.         of Astronomy and Astrophysics at U of C.
  367. updated:    ?
  368.  
  369. compiler generators and related tools
  370. -------------------------------------------------------------------------------
  371. category:    compiler generators and related tools
  372. description:    Yacc, and the rest of its family
  373.  
  374. language:    ABC
  375. package:    Grammar analysis tools
  376. version:    1
  377. parts:        analysis tools, samples, documentation
  378. author:        Steven Pemberton <Steven.Pemberton@cwi.nl>
  379. location:    ftp programming/languages/abc/examples/grammar/*
  380.         from ftp.eu.net or ftp.nluug.net
  381. description:    Grammar analysis program written in ABC (q.v.) for
  382.         answering such questions as "what are the start
  383.         symbols of all rules", "what symbols can follow this
  384.         symbol", "which rules are left recursive", and so on.
  385.         Includes a grammar of ISO Pascal.
  386. reference:    Ftp archive includes an article explaining the package.
  387. ports:        unix, MSDOS, atari, mac 
  388. contact:    Steven.Pemberton@cwi.nl
  389. updated:    1993/07/05
  390.  
  391. language:    ? attribute grammar ?
  392. package:    Alpha
  393. version:    pre-release
  394. parts:        semantic-analysis generator?, documentation(german)
  395. author:        Andreas Koschinsky <koschins@cs.tu-berlin.de>
  396. location:    from author
  397. description:    I have written a compiler generator. The generator is called
  398.         Alpha and uses attribute grammars as specification calculus.
  399.         Alpha is the result of a thesis at Technische Universitaet
  400.         Berlin. I am looking for someone who would like to test and use
  401.         Alpha.    Alpha generates compilers from a compiler
  402.         specification. This specification describes a compiler in
  403.         terminology of attribute grammars. Parser and Scanner are
  404.         generated by means of Bison and Flex.  Alpha generates an
  405.         ASE-evaluator (Jazayeri and Walter).  The documentation is in
  406.         german since it is a thesis at a german university.
  407. updated:    1993/02/16
  408.  
  409. language:    attribute-grammar extension of Yacc and Lex
  410. package:    Ox
  411. version:    G1.01
  412. parts:        Yacc/Lex/C preprocessor, tutorial, reference manual,
  413.         man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
  414.         Fortran)
  415. author:        Kurt Bischoff <bischoff@cs.iastate.edu>
  416. location:    ftp pub/ox/* from ftp.cs.iastate.edu
  417. description:    Ox generalizes the function of Yacc in the way that attribute
  418.         grammars generalize context-free grammars.  Ordinary Yacc and
  419.         Lex specifications may be augmented with definitions of
  420.         synthesized and inherited attributes written in C syntax.  Ox
  421.         checks these specifications for consistency and completeness,
  422.         and generates from them a program that builds and decorates
  423.         attributed parse trees.     Ox accepts a most general class of
  424.         attribute grammars.  The user may specify postdecoration
  425.         traversals for easy ordering of side effects such as code
  426.         generation.  Ox handles the tedious and error-prone details of
  427.         writing code for parse-tree management, so its use eases
  428.         problems of security and maintainability associated with that
  429.         aspect of translator development.  Ox is a preprocessor,
  430.         and extends the syntax and semantics of Yacc, Lex, and C.
  431. reference:    Most compiler textbooks have descriptions of attribute
  432.         grammars.
  433. features:    LALR(1), semantic-analyzer generation.
  434. bugs:        none known.  Report bugs to ox-project@cs.iastate.edu.
  435. restriction:    Use of Ox is free.  Ox-generated code is the property of
  436.         the Ox user.
  437. ports:        Unix
  438. contact:    ox-request@cs.iastate.edu
  439. updated:    1993/11/14
  440.  
  441. language:    attribute grammar
  442. package:    Rie
  443. version:    1.0.4
  444. parts:        compiler generator (Rie->C), attribute evaluator generator,
  445.         documentation, examples (PL/0 compiler, simple semantic
  446.         analyzer).
  447. author:        Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
  448.         Yoshiki Ohshima
  449. location:    ftp /pub/Rie/* from ftp.is.titech.ac.jp
  450. description:    Rie is a yet another compiler generator based on a
  451.         one-pass ECLR-attribnute grammar, a one-pass superset of
  452.         LR-attributed grammar.    It generates compilers comparable
  453.         in speed to handwritten compilers (about 1.8 times slower)
  454.         that can directly evaluate inherited and synthesized
  455.         attributes in parallel with LR parsing, without having to
  456.         create parse trees.  Rie has a YACC-like syntax, but with the
  457.         ability to define attribution rules, thus allowing a unified
  458.         treatment of the syntax and semantics.    Shorthand conditions,
  459.         context conditions and 'local' attributes are also processed.
  460. reference:    Sassa, M., Ishizuka, H., and Nakata, I.:
  461.         Rie, a Compiler Generator Based on a One-Pass
  462.         Attribute Grammar, Res. Rep. C-107, Dept. of Inf. Sci.,
  463.         Tokyo Institute of Technology
  464.         Contact rie-info@is.titech.ac.jp for hardcopy.
  465.         Electric version soon to be available at
  466.            ftp.is.titech.ac.jp in /pub/Rie/Papers/*.
  467. bugs:        Bug reports are welcome to rie-comments@is.titech.ac.jp.
  468. restriction:    Falls under version 2 of the GNU CopyLeft and the same
  469.         restrictions as Bison.
  470. ports:        UNIX, DOS, etc. (same as bison) and Sharp X68000
  471. contact:    rie-info@is.titech.ac.jp>
  472. updated:    1993/12/02
  473.  
  474. language:    BNF (Extended)
  475. package:    Gray
  476. version:    3
  477. parts:        parser generator(Forth)
  478. author:        Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
  479. location:    author; version 2 is on various ftp sites
  480. description:    Gray is a parser generator written in Forth.  It takes 
  481.         grammars in an extended BNF and produces executable Forth 
  482.         code for recursive descent parsers.  There is no special 
  483.         support for error handling.
  484. requires:    Forth
  485. ports:        TILE Release 2 by Mikael Patel
  486. updated:    1992/05/22
  487.  
  488. language:    BNF (??)
  489. package:    ZUSE
  490. version:    ?
  491. parts:        parser generator(?)
  492. author:        Arthur Pyster
  493. location:    ? Univ Calif at Santa Barbara ?
  494. description:    ll(1) paser generator
  495. requires:    Pascal
  496. updated:    1986/09/23
  497.  
  498. language:    BNF (??)
  499. package:    FMQ
  500. version:    ?
  501. parts:        paser generator w/error corrector generator
  502. author:        Jon Mauney
  503. location:    ftp from csczar.ncsu.edu
  504. description:    ?
  505. status:        ?
  506. contact:    ?
  507. updated:    1990/03/31
  508.  
  509. language:    BNF (??)
  510. package:    ATS (Attribute Translation System)
  511. version:    ?
  512. parts:        ?
  513. author:        ? University of Saskatchewan ?
  514. location:    ?
  515. description:    generates table-driven LL(1) parsers with full insert-only
  516.         error recovery.     It also handles full left-attribute semantic
  517.         handling, which is a dream compared to using YACC's parser
  518.         actions.
  519. status:        ?
  520. contact:    ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
  521. updated:    1988/11/29
  522.  
  523. language:    BNF (Extended)
  524. package:    PCCTS (Purdue Compiler-Construction Tool Set)
  525. version:    1.30
  526. parts:        scanner generator, parser generator (pred-LL(k)), 
  527.         documentation, tutorial
  528. author:        Terence J. Parr <parrt@acm.org>, Will E. Cohen
  529.         <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>,
  530.         Russel W. Quong <quong@ecn.purdue.edu>
  531. location:    ftp pub/pccts/* from everest.ee.umn.edu
  532.     UK:        ftp computing/programming/languages/tools/pccts/* 
  533.         from src.doc.ic.ac.uk
  534.     Macintosh:    ftp pub/mac/* from maya.dei.unipd.it 
  535. description:    PCCTS is similar to a highly integrated version of YACC
  536.         and LEX; where ANTLR (ANother Tool for Language
  537.         Recognition) corresponds to YACC and DLG (DFA-based
  538.         Lexical analyzer Generator) functions like LEX.
  539.         However, PCCTS has many additional features which make
  540.         it easier to use for a wide range of translation
  541.         problems.  PCCTS grammars contain specifications for
  542.         lexical and syntactic analysis with selective backtracking
  543.         ("infinite lookahead"), semantic predicates, intermediate-form
  544.         construction and error reporting. Rules may employ Extended
  545.         BNF (EBNF) grammar constructs and may define parameters,
  546.         return values and local variables.  Languages described in
  547.         PCCTS are recognized via LL(k) parsers constructed in pure,
  548.         human-readable, C code.     Selective backtracking is available
  549.         to handle non-LL(k) constructs.     PCCTS parsers may be compiled 
  550.         with C++. Version 1.20 now generates C++ code as well as K&R
  551.         and ANSI C variants.
  552. ports:        Unix, DOS, OS/2, Macintosh
  553. portability:    very high
  554. discussion:    comp.compilers.tools.pccts
  555. contact:    Terence J. Parr <parrt@acm.org>
  556.         Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
  557. updated:    1994/11/02
  558.  
  559. language:    BNF (very extended), yacc
  560. package:    PRE-CC Xtended
  561. version:    2.30
  562. parts:        library, parser generator (LL(oo)), translator(yacc->)
  563. author:        Peter Breuer
  564. location:    FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix)
  565.              ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS)
  566.              ftp.comlab.ox.ac.uk:
  567.             /pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
  568.         (more recent versions available by subscription)
  569.         URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
  570. description:    PRECCX is an infinite-lookahead compiler compiler for context
  571.         dependent grammars.  The generated code is ANSI C.
  572.         Specification scripts are in very EBNF with inherited and
  573.         synthetic attributes allowed. Scripts can be compiled in
  574.         separate modules, and linked together later.  Meta-production
  575.         rules allowed.    The technology is essentially LL(oo) with
  576.         optimizations. A converter for yacc scripts is available.
  577. reference:    "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
  578.          In E. Davies and A. Findlay (eds.),
  579.          Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
  580.          St. Cross Centre, Oxford, UK, 6-8 January 1993,
  581.          ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
  582.          UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
  583.          Herts SG9 9PL, UK, pp 167-182, 1993.
  584.         "A PREttier Compiler-Compiler: Generating Higher Order
  585.          Parsers in C"    P.T. Breuer and J.P. Bowen.
  586.          Oxford University Computing Laboratory Technical Report
  587.          PRG-TR-20-92, 25pp, November 1992. Accepted by
  588.          Software - Practice and Experience, 1994.
  589.          ftp pub/Documents/techreports/TR-20-92.ps.Z 
  590.          from ftp.comlab.ox.ac.uk
  591. ports:        unix, MS-DOS
  592. contact:    Peter Breuer <ptb@comlab.ox.ac.uk>,
  593.         Jonathan Bowen <bowen@comlab.ox.ac.uk>
  594. updated:    1994/06/02
  595.  
  596. language:    BNF (??)
  597. package:    LLGen
  598. version:    ?
  599. parts:        parser generator
  600. author:        ? Fischer and LeBlanc ?
  601. location:    ? ftp from csczar.ncsu.edu ?
  602. description:    LL(1) parser generator
  603. conformance:    subset of FMQ
  604. reference:    "Crafting A Compiler", by Fischer and LeBlanc
  605. status:        ?
  606. contact:    ?
  607. updated:    1990/03/31
  608.  
  609. language:    BNF
  610. package:    wacco
  611. version:    1.1, July 91
  612. parts:        parser generator
  613. author:        Parag Patel (parag@netcom.com, parag@sde.hp.com)
  614. location:    comp.sources.misc volume ?
  615. description:    Wacco is a recursive descent LL(1) parser generator that
  616.         generates C++ code.  Its syntax is similar to YACC
  617.         with a lot of sugaring.     It can also do attribute-driven
  618.         parsing.  The source is bootstrapped wacco code.
  619. ports:        HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
  620. portability:    Host machine must be 32 bits.
  621. contact:    ?
  622. updated:    ?
  623.  
  624. language:    BNF (Extended), BNF (yacc), Modula-2
  625. package:    GMD Toolbox for Compiler Construction (aka Cocktail)
  626. version:    9209
  627. parts:        parser generator (LALR -> C, Modula-2), documentation,
  628.         parser generator (LL(1) -> C, Modula-2), tests,
  629.         scanner generator (-> C, Modula-2), tests
  630.         translator (Extended BNF -> BNF), translator (Modula-2 -> C),
  631.         translator (BNF (yacc) -> Extended BNF), examples
  632.         abstract syntax tree generator, attribute-evaluator generator,
  633.         code generator
  634. author:        ?
  635. location:    ? ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
  636.            (many name servers having trouble resolving this address)
  637.     OS/2:    ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
  638. description:    A huge set of compiler building tools. 
  639. requires:    (ms-dos only) DJ Delorie's DOS extender (go32)
  640.     (OS/2 only) emx programming environment for OS/2
  641. ports:        msdos, unix, os/2
  642. discussion:    subscribe to Cocktail using listserv@eb.ele.tue.nl
  643. contact:    Josef Grosch <grosch@karlsruhe.gmd.de>
  644.     OS/2:    Willem Jan Withagen <wjw@eb.ele.tue.nl>
  645. updated:    1992/10/01
  646.  
  647. language:    BNF (??)
  648. package:    T-gen
  649. version:    2.1
  650. parts:        parser generator, documentation, ?
  651. author:        Justin Graver <graver@comm.mot.com>
  652. location:    ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
  653. description:    T-gen is a general-purpose object-oriented tool for the 
  654.         automatic generation of string-to-object translators. 
  655.         It is written in Smalltalk and lives in the Smalltalk 
  656.         programming environment.  T-gen supports the generation 
  657.         of both top-down (LL) and bottom-up (LR) parsers, which 
  658.         will automatically generate derivation trees, abstract 
  659.         syntax trees, or arbitrary Smalltalk objects.  The simple 
  660.         specification syntax and graphical user interface are 
  661.         intended to enhance the learning, comprehension, and 
  662.         usefulness of T-gen.
  663. requires:    Smalltalk-80
  664. ports:        ParcPlace Objectworks/Smalltalk 4.0 & 4.1
  665. updated:    1992/10/18
  666.  
  667. language:    BNF 
  668. package:    Eli Compiler Construction System
  669. version:    3.5
  670. parts:        ?, documentation
  671. author:        ?
  672. location:    ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
  673.     Europe:    ftp unix/eli from ftp.uni-paderborn.de
  674. description:    Eli integrates off-the-shelf tools and libraries with
  675.         specialized language processors to generate complete compilers
  676.         quickly and reliably.  It simplifies the development of new
  677.         special-purpose languages, implementation of existing languages
  678.         on new hardware and extension of the constructs and features of
  679.         existing languages.
  680. ports:        Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
  681. discussion:    <eli-request@cs.colorado.edu>
  682. contact:    <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
  683. updated:    1993/11/01
  684.  
  685. language:    BNF
  686. package:    tom (demo for Tomita Parsing algorithm)
  687. version:    1
  688. parts:        parser generator, parser interpreter, examples, documentation
  689. author:        Mark Hopkins <mark@omnifest.uwm.edu>
  690. location:    iecc.com in pub/files/tomita.tar.gz
  691.         alt.sources archive from October 4, 1993.
  692. description:    An implementation of the Tomita parsing algorithm using
  693.         LR(0) tables and dynamic programming.
  694. reference:    Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
  695.         "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
  696. features:    Cyclic context free grammars are processed.
  697. portability:    System independent
  698. updated:    1994/10/03
  699.  
  700. language:    BNF (yacc)
  701. package:    NewYacc
  702. version:    1.0
  703. parts:        parser generator, documenation
  704. author:        Jack Callahan <callahan@mimsy.cs.umd.edu> 
  705. location:    ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
  706. description:    [someone want to fill it in? --ed]
  707. reference:    see Dec 89 CACM for a brief overview of NewYacc.
  708. updated:    1992/02/10
  709.  
  710. language:    BNF (yacc)
  711. package:    bison
  712. version:    1.22
  713. parts:        parser generator, documentation
  714. author:        ? Robert Corbett and Richard Stallman <rms@gnu.mit.edu>
  715. location:    ftp bison-1.16.tar.Z from a GNU archive site
  716. description:    ?
  717. bugs:        bug-gnu-utils@prep.ai.mit.edu
  718. restriction:    !! will apply the GNU General Public License to *your* code !!
  719. ports:        unix, atari, ?
  720. updated:    1993/09/14
  721.  
  722. language:    BNF (yacc), Lex
  723. package:    Bison++ and Flex++
  724. version:    1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
  725. parts:        translator, documentation, postscript, examples, DOS binary
  726. author:        Alain Coetmeur <coetmeur@icdc.fr>
  727. location:    cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
  728.     Europe:    mirrored on ftp.th-darmstadt.de
  729. description:    A retargeting of bison-1 and flex 2.3 to C++, able to
  730.         generate classes.  As with Bison and Flex, these two tools
  731.         are independent but designed for mutual compatibility.
  732.         The version numbering has been changed for consistency with
  733.         Flex and Bison, so versions of flex3.0.x and bison2.x of this
  734.         package are are actually earlier versions, not later.
  735.         Examples are provided to help in getting started.
  736. conformance:    Mostly compatible with flex2.3 and bison 1 in C, apart
  737.         from the ability to generate classes.
  738. features:    Almost all symbol names can be redefined, parsers can be
  739.         shared in C and C++ in the same headers... very extensible...
  740.         flex++ support IOSTREAM and STDIO in C++.
  741. bugs:        Contact coetmeur@icdc.fr (current author and maintainer).
  742. restriction:    GNU License for bison++. Same as flex for flex++.
  743. ports:        SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
  744. portability:    Larger memory model required on DOS (DOS binary supplied).
  745. status:        active, supported, might not support flex 2.4
  746. discussion:    coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
  747. help:        coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
  748.         for substantial problems.
  749. support:    see help, no commercial support. (volunteer ?)
  750. announcements:    mail list locally maintained by coetmeur@icdc.fr,
  751.         news: comp.compiler comp.lang.c++
  752. updated:    1994/02/07
  753. lref:        C
  754. lref:        C++
  755. lref:        Lex
  756. lref:        yacc
  757.  
  758. language:    BNF (yacc)
  759. package:    bison-A2.2
  760. version:    2.2 (corresponds to gnu bison 1.22)
  761. parts:        parser generator, C-parser, C++parser, documentation
  762. author:        Fred Hansen <wjh+@cmu.edu>
  763. location:    ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
  764.         also in contrib/andrew on the XV11R6 distribution in directories
  765.            overhead/bison, overhead/mkparser (but not the C++ version
  766.            of the parser)
  767. description:    This is the standard gnu bison with a number of improvments:
  768.         license-free parsers for C and C++, only one external symbol
  769.         for each grammar, permits multiple grammars per application,
  770.         better error reports on the grammar.
  771. conformance:    grammars are the same as bison and yacc; but run-time errors
  772.         are handled differently, so semantic rules must be changed
  773. features:    tokens in the grammar can be expressed as ">=" instead of GE
  774. bugs:        send bugs to info-andrew-bugs@andrew.cmu.edu
  775. restriction:    none (unless you use the native gnu-bison parser)
  776. ports:        has been tested on most Unix platforms
  777. portability:    generation of names for temp files is system dependent.
  778. discussion:    info-andrew@andrew.cmu.edu   (mirrored to comp.soft-sys.andrew)
  779. support:    supported by the Andrew Consortium
  780. contributions:    your organization is invited to join the Andrew Consortium
  781.         info-andrew-request@andrew.cmu.edu
  782. updated:    1994/05/09
  783.  
  784. language:    BNF (yacc)
  785. package:    ? jaccl ?
  786. version:    ?
  787. parts:        parser generator
  788. author:        Dave Jones <djones@megatest.uucp>
  789. location:    ?
  790. description:    a LR(1) parser generator
  791. updated:    1989/09/08
  792.  
  793. language:    BNF (yacc)
  794. package:    byacc (Berkeley Yacc)
  795. version:    1.9
  796. parts:        parser generator
  797. author:        Robert Corbett <Robert.Corbett@eng.sun.com>
  798. location:    ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
  799. description:    probably the best yacc variant around.    Previously known as
  800.         Zoo, and before that, as Zeus.
  801. updated:    1993/02/22
  802.  
  803. language:    BNF (yacc), Lex
  804. package:    Lex/Yacc for Turbo Pascal uploaded
  805. version:    ?
  806. parts:        parser generator, scanner generator, documentation?
  807. author:        ?
  808. location:    iecc.com (140.186.81.1) at pub/file/lyprg.zip.
  809. description:    Lex and Yacc retargeted to Pascal.
  810. contact:    ? dpoole@hydrogen.oscs.montana.edu (David Poole)
  811. updated:    1993/07/02
  812.  
  813. language:    BNF (yacc), Ada
  814. package:    aflex-ayacc
  815. version:    1.2a
  816. parts:        parser generator (Ada), scanner generator (Ada)
  817. author:        IRUS (Irvine Research Unit in Software)
  818. location:    ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
  819. description:    Lex and Yacc equivalents that produce Ada output
  820. announcements:    irus-software-request@ics.uci.edu
  821. contact:    irus-software-request@ics.uci.edu
  822. updated:    1993/01/06
  823.  
  824. language:    BNF (yacc), Perl
  825. package:    perl-byacc
  826. version:    1.8.2
  827. parts:        parser-generator(perl)
  828. author:        Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
  829. location:    ftp local/perl-byacc.tar.Z from ftp.sterling.com
  830. description:    A modified version of byacc that generates perl code.  Has '-p'
  831.         switch so multiple parsers can be used in one program (C or
  832.         perl).
  833. portability:    Should work on most (?) Unix systems.  Also works with 
  834.         SAS/C 6.x on AMIGAs.
  835. updated:    1993/01/24
  836.  
  837. language:    BNF (yacc), Standard ML
  838. package:    New SML-Yacc and SML-Lex
  839. version:    ??
  840. parts:        ??
  841. author:        Andrew Appel <appel@tyrolia.princeton.edu>
  842. location:    princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
  843. description:    ??
  844. updated:    1994/05/23
  845.  
  846. language:    BNF (variant), Icon
  847. package:    Ibpag2 (Icon-Based Parser Generation System 2)
  848. version:    1.2
  849. parts:        parser generator (Icon, SLR(1))
  850. author:        Richard L. Goerwitz <goer@midway.uchicago.edu>
  851. location:    comp.sources.misc volume 44
  852. description:    Ibpag2 is a parser generator for Icon.    It does most
  853.         of what you would expect.  Latest version can handle both
  854.         SLR(1) and even GLR (Tomita) grammars.
  855. ports:        unix
  856. portability:    ? (Unix dependencies?)
  857. updated:    1994/09/25
  858.  
  859. language:    BNF ?, Gofer
  860. package:    Ratatosk (?)
  861. version:    ?
  862. parts:        parser generatr (Gofer)
  863. author:        Torben AEgidius Mogensen <torbenm@diku.dk>
  864. location:    ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
  865. description:    Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
  866.         that generates purely functional parsers (also in Gofer). Even
  867.         though the sematic value of a production is a function of the
  868.         attributes of its right-hand side (and thus apparently purely
  869.         synthesized), inherited attributes are easily simulated by
  870.         using higher order functions.
  871. ports:        ?
  872. updated:    ?
  873.  
  874. language:    BNF
  875. package:    lalr.ss - An LALR(1) parser generator
  876. version:    0.9 
  877. parts:        parser generator (->Scheme)
  878. author:        Mark Johnson <mj@cs.brown.edu>
  879. location:    ftp new/lalr.shar from the Scheme Repository
  880. description:    A LALR(1) parser generator in and for Scheme.
  881. requires:    Scheme
  882. updated:    1993/05/24
  883.  
  884. language:    BURS ?
  885. package:    Iburg
  886. version:    ?
  887. parts:        parser generator?
  888. author:        Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
  889.         <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
  890. location:    ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
  891. description:    Iburg is a program that generates a fast tree parser.  It is
  892.         compatible with Burg. Both programs accept a cost-augmented
  893.         tree grammar and emit a C program that discovers an optimal
  894.         parse of trees in the language described by the grammar. They
  895.         have been used to construct fast optimal instruction selectors
  896.         for use in code generation.  Burg uses BURS; Iburg's matchers
  897.         do dynamic programming at compile time.
  898. updated:    1993/02/10
  899.  
  900. language:    BNF variant, Python
  901. package:    kwParsing ?
  902. version:    ?
  903. parts:        parser generator
  904. author:        Aaron Watters <aaron@vienna.njit.edu>
  905. location:    ftp pub/python/kwParsing.* from ftp.markv.com
  906. description:    A parser generator written in Python for Python.  This package
  907.         may be appropriate for experimental translators, code
  908.         generators, interpreters, or compilers; for instructinal
  909.         purposes; among other possibility.  The documentation gives a
  910.         brief introduction to the conventions and basic ideas of
  911.         parsing.
  912. updated:    1994/09/24
  913.  
  914. language:    Candle, IDL (Interface Description Language)
  915. package:    Scorpion System
  916. version:    6.0
  917. parts:        software development environment for developing
  918.         software development environments, documentation
  919. author:        University of Arizona
  920. location:    ftp scorpion/* from cs.arizona.edu
  921. description:    20 tools that can be used to construct specialized
  922.         programming environments.
  923.         The Scorpion Project was started by Prof. Richard
  924.         Snodgrass as an outgrowth of the SoftLab Project (which pro-
  925.         duced the IDL Toolkit) that he started when he was at the
  926.         University of North Carolina.  The Scorpion Project is
  927.         directed by him at the University of Arizona and by Karen
  928.         Shannon at the University of North Carolina at Chapel Hill.
  929. reference:    "The Interface Description Language: Definition and Use," 
  930.         by Richard Snodgrass, Computer Science Press, 1989,
  931.         ISBN 0-7167-8198-0
  932. ports:        Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
  933. discussion:    info-scorpion-request@cs.arizona.edu
  934. contact:    scorpion-project@cs.arizona.edu
  935. updated:    1993/11/04
  936.  
  937. language:    COCOL (EBNF variant)
  938. package:    COCO/R
  939. version:    1.36
  940. parts:        parser generator(LL(1))
  941. author:        Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  942.         Port to Modula-2 done by Marc Brandis, Christof Brass 
  943.         and Pat Terry <cspt@alpha.ru.ac.za>
  944. location:    neptune.inf.ethz.ch:/pub/Coco
  945.         ftp.psg.com:/pub/modula-2/coco
  946.         cs.ru.ac.za:/pub/coco
  947.         pluto.fit.qut.edu.au:/pub/coco
  948. description:    Coco/R generates recursive descent parsers and their associated
  949.         scanners from attributed grammars.  Coco/R can bootstrap itself
  950.         to generate its own driver, parser, scanner, and semantic
  951.         evaluator from the attributed grammar CR.ATG.  This grammar
  952.         thus serves as an an example of how to write compiler
  953.         descriptions for Coco.    There are also other simpler examples
  954.         showing its use.
  955. reference:    _A compiler generator for microcomputers_, by Rechenberg 
  956.         and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
  957. bugs:        MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
  958.         Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  959. requires:    Oberon or Modula-2
  960. ports:        MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
  961.         QuickMod 2.2; Logitech 3.03.  Macintosh: Apple MacMeth
  962. status:        Oberon version is freely available?, Modula-2 version is
  963.         free to academic sites; commercial use requires a license
  964. updated:    1994/06/23
  965.  
  966. language:    COCOL (EBNF variant)
  967. package:    coco/R
  968. version:    1.03
  969. parts:        parser generator(LL(1))
  970. description:    A C version of COCO/R
  971. updated:    1994/11/10
  972.  
  973. language:    EAG (Extended Affix Grammar)
  974. package:    EAG
  975. version:    first public release
  976. parts:        recognizer generator, transduccer generator, 
  977.         translator generator, editor generator, documentation
  978. author:        Marc Seutter <marcs@cs.kun.nl>
  979. location:    ftp pub/eag/* from hades.cs.kun.nl
  980. description:    The Extended Affix Grammar formalism, or EAG for short, is a
  981.         formalism for describing both the context free and the context
  982.         sensitive syntax of languages.    EAG is a member of the family
  983.         of two-level grammars. They are very closely related to
  984.         two-level van Wijngaarden grammars.  The EAG compiler will
  985.         generate either a recognizer or a transducer or a translator
  986.         or a syntax directed editor for a language described in the EAG
  987.         formalism.
  988. updated:    1993/09/14
  989.  
  990. language:    EBNF
  991. package:    ETO
  992. version:    test version
  993. parts:        parser, postscript document, examples
  994. author:        Lin Li <china@bernina.ethz.ch>
  995. location:    FTP: fi.ethz.ch under /pub/ETO/eto-09.*
  996. description:    ETO is an object oriented universal syntax checker.  It takes
  997.         an EBNF specification for a language and then uses it on an
  998.         input file to check its syntax.
  999. updated:    1994/06/03
  1000.  
  1001. language:    lex
  1002. package:    flex
  1003. version:    2.3.8
  1004. parts:        scanner generator
  1005. author:        Vern Paxson <vern@ee.lbl.gov>
  1006. location:    ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
  1007. description:    ?
  1008. updated:    ?
  1009.  
  1010. language:    Regular Expressions
  1011. package:    re2c
  1012. version:    alpha
  1013. parts:        translator (re->c)
  1014. author:        ?? peter@csg.uwaterloo.ca
  1015. location:    csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz
  1016. description:    A regular expression to C converter.
  1017. updated:    ?? 1994/04/29
  1018.  
  1019. language:    Milarepa 
  1020. package:    Milarepa Perl/BNF Parser 
  1021. version:    Prototype 1.0
  1022. parts:        parser-generator, examples, tutorial
  1023. author:        Jeffrey Kegler <jeffrey@netcom.com>
  1024. location:    via anonymous ftp at
  1025.         alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z
  1026. description:    Milarepa takes a source grammar in the Milarepa language (a
  1027.         straightforward mix of BNF and Perl) and generates a Perl file,
  1028.         which, when enclosed in a simple wrapper, parses some third
  1029.         language described by the source grammar.
  1030.         This is intended to be a real hacker's parser.    It is not
  1031.         restricted to LR(k), and the parse logic follows directly from
  1032.         the BNF.  It handles ambiguous grammars, ambiguous tokens
  1033.         (tokens which were not positively identified by the lexer) and
  1034.         allows the programmer to change the start symbol.  The grammar
  1035.         may not be left recursive.  The input must be divided into
  1036.         sentences of a finite maximum length.  There is no fixed
  1037.         distinction between terminals and non-terminals, that is, a
  1038.         symbol can both match the input AND be on the left hand side of
  1039.         a production.  Multiple Marpa grammars are allowed in a single
  1040.         perl program.
  1041.         It's only a prototype primarily due to poor speed.  This is
  1042.         intended to be remedied after Perl 5.0 is out.
  1043. requires:    perl
  1044. updated:    1994/04/27
  1045.  
  1046. language:    Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
  1047. package:    Tim Budd's C++ implementation of Kamin's interpreters
  1048. version:    ?
  1049. parts:        interpretors, documentation
  1050. author:        Tim Budd <budd@cs.orst.edu>
  1051. location:    ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
  1052. description:    a set of interpretors written as subclasses based on
  1053.         "Programming Languages, An Interpreter-Based Approach",
  1054.         by Samuel Kamin.
  1055. requires:    C++
  1056. status:        ? 
  1057. contact:    Tim Budd <budd@fog.cs.orst.edu>
  1058. updated:    1991/09/12
  1059.  
  1060. language:    Relation Grammar
  1061. package:    rl
  1062. version:    ?
  1063. parts:        ?
  1064. author:        Kent Wittenburg <kentw@bellcore.com>
  1065. location:    fto rl/* from flash.bellcore.com
  1066. description:    The RL files contain code for defining Relational Grammars and
  1067.         using them in a bottom-up parser to recognize and/or parse
  1068.         expressions in Relational Languages.  The approach is a
  1069.         simplification of that described in Wittenburg, Weitzman, and
  1070.         Talley (1991), Unification-Based Grammars and Tabular Parsing
  1071.         for Graphical Languages, Journal of Visual Languages and
  1072.         Computing 2:347-370.
  1073.         This code is designed to support the definition and parsing of
  1074.         Relational Languages, which are characterized as sets of
  1075.         objects standing in user-defined relations.  Correctness and
  1076.         completeness is independent of the order in which the input is
  1077.         given to the parser.  Data to be parsed can be in many forms as
  1078.         long as an interface is supported for queries and predicates
  1079.         for the relations used in grammar productions.    To date, this
  1080.         software has been used to parse recursive pen-based input such
  1081.         as math expressions and flowcharts; to check for data
  1082.         integrity and design conformance in databases; to
  1083.         automatically generate constraints in drag-and-drop style
  1084.         graphical interfaces; and to generate graphical displays by
  1085.         parsing relational data and generating output code.
  1086. requires:    Common Lisp
  1087. ports:        Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
  1088. updated:    1992/10/31
  1089.  
  1090. language:    S/SL (Syntax Semantic Language)
  1091. package:    ssl
  1092. version:    ?
  1093. parts:        parser bytecode compiler, runtime
  1094. author:        Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
  1095.         Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
  1096. location:    ftp pub/ssl.tar.Z from neat.cs.toronto.edu
  1097. description:    A better characterization is that S/SL is a language
  1098.         explicitly designed for making efficient recusive-descent
  1099.         parsers.  Unlike most other languages, practicially the
  1100.         LEAST expensive thing you can do in S/SL is recur.  A
  1101.         small language that defines input/output/error token
  1102.         names (& values), semantic operations (which are really
  1103.         escapes to a programming language but allow good
  1104.         abstration in the pseudo-code), and a pseudo-code
  1105.         program that defines a grammar by the token stream the
  1106.         program accepts.  Alternation, control flow, and
  1107.         1-symbol lookahead constructs are part of the
  1108.         language.  What I call an S/SL "implementation", is a
  1109.         program that compiles this S/SL pseudo-code into a
  1110.         table (think byte-codes) that is interpreted by the
  1111.         S/SL table-walker (interpreter).  I think the pseudo-code
  1112.         language is LR(1), and that the semantic mechanisms turn it
  1113.         into LR(N) relatively easily.
  1114.         + more powerful and cleaner than yac
  1115.         - slower than yacc
  1116. reference:    Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
  1117.          Syntax/Semantic Language, Computer Systems Research
  1118.          Institute, University of Toronto.
  1119.         "An Introduction to S/SL: Syntax/Semantic Language" by
  1120.          R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
  1121.          on Programming Languages and Systems (TOPLAS), Vol 4, No.
  1122.         2, April 1982, Pages 149-178.
  1123. updated:    1989/09/25
  1124.  
  1125. language:    TXL
  1126. package:    TXL: Tree Transformation Language
  1127. version:    7.4
  1128. parts:        translator, documentation, tutorial, examples
  1129. author:        Jim Cordy <cordy@qucis.queensu.ca>
  1130. location:    ftp pub/txl/* from ftp.qucis.queensu.ca
  1131. description:    TXL is a language for performing source to source
  1132.         transformations and is well suited for rapidly prototyping
  1133.         new languages and language processors.    It has also been used to
  1134.         prototype specification languages, command languages, and more
  1135.         traditional program transformation tasks such as constant
  1136.         folding, type inference, source optimization and reverse
  1137.         engineering.  TXL takes as input an arbitrary context-free
  1138.         grammar in extended BNF-like notation, and a set of
  1139.         show-by-example transformation rules to be applied to inputs
  1140.         parsed using the grammar.  TXL is a functional/rule-based
  1141.         hybrid programming language, using the paradigm of structural
  1142.         transformation.
  1143. reference:    Several listed in software documentation
  1144. updated:    1993/08/04
  1145.  
  1146. language:    BNF (extended)
  1147. package:    SORCERER: A Simple Tree Parser Generator
  1148. version:    1.01
  1149. parts:        translator, documentation, tutorial, examples
  1150. author:        Terence Parr <parrt@s1.arc.umn.edu>
  1151. location:    ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu
  1152. description:    SORCERER is more suitable for the class of translation problems
  1153.         lying between those solved by code-generator generators and by
  1154.         full source-to-source translator generators.  SORCERER
  1155.         generates simple, flexible, top-down, tree parsers that, in
  1156.         contrast to code-generators, may execute actions at any point
  1157.         during a tree walk.  SORCERER accepts extended BNF notation,
  1158.         allows predicates to direct the tree walk with semantic and
  1159.         syntactic context information, and does not rely on any
  1160.         particular intermediate form, parser generator, or other
  1161.         pre-existing application.
  1162. reference:    Several listed in software documentation
  1163. discussion:    send mail with a body of "subscribe pccts-users your_name" to
  1164.         pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
  1165. help:        from mailing list
  1166. support:    actively supported, from mailing list
  1167. updated:    ? 1994/06/15
  1168.  
  1169. mathematical tools and languages
  1170. -------------------------------------------------------------------------------
  1171. category:    mathematical tools and languages
  1172. description:    These are either special-purpose languages and tools, or
  1173.         general purpose languages and tools that have traditionally
  1174.         been used for mathematical and scientific computing task.
  1175. lref:        Fortran
  1176. lref:        PCN
  1177. lref:        CLP
  1178. lref:        SISAL 1.2
  1179.  
  1180. language:    APL
  1181. package:    I-APL
  1182. version:    ?
  1183. parts:        ?
  1184. author:        ?
  1185. location:    ftp languages/apl/* from watserv1.waterloo.edu
  1186. description:    ?
  1187. updated:    1992/07/06
  1188.  
  1189. language:    APL
  1190. package:    APLWEB
  1191. version:    ?
  1192. parts:        translator(web->apl), translator(web->TeX)
  1193. author:        Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
  1194. location:    ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
  1195. description:    [Should this be listed with the Web entries? -- Ed.]
  1196. updated:    1992/12/07
  1197.  
  1198. language:    APL
  1199. iref:        (APL) Tim Budd's C++ implementation of Kamin's interpreters
  1200.  
  1201. language:    J
  1202. package:    J-mode
  1203. version:    ?
  1204. parts:        emacs macros
  1205. author:        ?
  1206. location:    ftp pub/j/gmacs/j-interaction-mode.el from think.com
  1207. description:    add on to J
  1208. updated:    1991/03/04
  1209.  
  1210. language:    RLaB language (math manipulation - MATLAB-like)
  1211. package:    RLaB
  1212. version:    0.99i
  1213. parts:        interpreter, libraries, documentation
  1214. author:        v. 0.95:  Ian Searle <ians@eskimo.com>
  1215.         v. 0.99i: Matt Wette <mwette@mr-ed.jpl.nasa.gov>
  1216. location:    v. 0.95:  ftp pub/RLaB/* from evans.ee.adfa.oz.au
  1217.         v. 0.99i: csi.jpl.nasa.gov in /pub/matlab/RLaB
  1218.         [Could someone explain/rectify this? -- Mark]
  1219. description:    RLaB is a "MATLAB-like" matrix-oriented programming
  1220.         language/toolbox.  RLaB focuses on creating a good experimental
  1221.         environment (or laboratory) in which to do matrix math
  1222.         Currently RLaB has numeric scalars and matrices (real and
  1223.         complex), and string scalars, and matrices. RLaB also contains
  1224.         a list variable type, which is a heterogeneous associative
  1225.         array.
  1226. bugs:        v. 0.95: Ian Searle <ians@eskimo.com>
  1227. restriction:    GNU General Public License
  1228. requires:    GNUPLOT, lib[IF]77.a (from f2c)
  1229. ports:        many unix, OS/2, Amiga
  1230. updated:    1994/05/14
  1231.  
  1232. language:    octave language (math manipulation - MATLAB-like)
  1233. package:    octave
  1234. version:    1.0
  1235. parts:        interpreter, libraries, documentation
  1236. author:        John W. Eaton
  1237. location:    ftp /pub/octave/* from ftp.che.utexas.edu
  1238.         also, any GNU archive site (see archive listing below)
  1239. description:    Octave is a high-level language, primarily intended for
  1240.         numerical computations.     It provides a convenient command line
  1241.         interface for solving linear and nonlinear problems
  1242.         numerically.
  1243.         Octave can do arithmetic for real and complex scalars and
  1244.         matrices, solve sets of nonlinear algebraic equations,
  1245.         integrate functions over finite and infinite intervals, and
  1246.         integrate systems of ordinary differential and
  1247.         differential-algebraic equations.
  1248. bugs:        bug-octave@che.utexas.edu
  1249. restriction:    GNU General Public License
  1250. requires:    gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
  1251. ports:        several
  1252. updated:    1994/2/23
  1253.  
  1254. language:    FUDGIT language (math manipulation)
  1255. package:    FUDGIT
  1256. version:    2.27
  1257. parts:        interpreter
  1258. author:        Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
  1259. location:    ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
  1260. description:    FUDGIT is a double-precision multi-purpose fitting program.  It
  1261.         can manipulate complete columns of numbers in the form of
  1262.         vector arithmetic. FUDGIT is also an expression language
  1263.         interpreter understanding most of C grammar except pointers.
  1264.         Morever, FUDGIT is a front end for any plotting program
  1265.         supporting commands from stdin. It is a nice mathematical
  1266.         complement to GNUPLOT, for example.
  1267. requires:    GNUPLOT
  1268. ports:        AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
  1269. updated:    1993/02/22
  1270.  
  1271. language:    Unix BC (arbitrary-precision arithmetic language)
  1272. package:    C-BC
  1273. version:    1.1
  1274. parts:        bytecode compiler, interpreter, documentation, examples
  1275. author:        Mark Hopkins <mark@omnifest.uwm.edu>
  1276. location:    alt.sources (10/04/93), or contact author by E-mail.
  1277. description:    A strongly typed version of BC with expanded C-like syntax,
  1278.         more base types, with ability to form array and pointer types
  1279.         of any dimension and to allocate/free arrays at run-time.
  1280. conformance:    Most POSIX-BC features supported, except functions must be
  1281.         declared consistently and declared before first use.  String
  1282.         handling slightly different.
  1283. reference:    C-BC implementation notes contained with software documentation
  1284. requires:    ANSI-C compiler
  1285. ports:        DOS, Unix
  1286. portability:    No system dependent features present.
  1287. updated:    1993/08/23
  1288.  
  1289. language:    Unix BC (arbitrary-precision arithmetic language)
  1290. package:    GNU BC
  1291. version:    1.02
  1292. parts:        parser (yacc), interpreter, BC math library
  1293. author:        Philip A. Nelson <phil@cs.wwu.edu>
  1294. location:    ftp bc-1.02.tar.Z from a GNU archive site
  1295. description:    BC is an arbitrary precision numeric processing language with a
  1296.         C-like syntax that traditionally provided a front-end to DC.
  1297.         This version, however, is self-contained and internally
  1298.         executes its own compiled code (unrelated to DC code).
  1299. conformance:    Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
  1300. restriction:    Source code falls under the GNU CopyLeft.
  1301. requires:    vsprintf and vfprintf routines
  1302. ports:        Unix (BSD, System V, MINIX, POSIX)
  1303. updated:    ?
  1304.  
  1305. language:    Calc?  (symbolic math calculator)
  1306. package:    Calc
  1307. version:    2.02
  1308. parts:        interpreter, emacs mode, documentation
  1309. author:        Dave Gillespie <daveg@cs.caltech.edu>
  1310. location:    ftp calc-2.02.tar.z from a GNU archive site
  1311. description:    Calc is an extensible, advanced desk calculator and
  1312.         mathematical tool written in Emacs Lisp that runs as part of
  1313.         GNU Emacs.  It is accompanied by the "Calc Manual", which
  1314.         serves as both a tutorial and a reference.  If you wish, you
  1315.         can use Calc as only a simple four-function calculator, but it
  1316.         also provides additional features including choice of algebraic
  1317.         or RPN (stack-based) entry, logarithms, trigonometric and
  1318.         financial functions, arbitrary precision, complex numbers,
  1319.         vectors, matrices, dates, times, infinities, sets, algebraic
  1320.         simplification, differentiation, and integration.
  1321. bugs:        ?
  1322. updated:    ?
  1323.  
  1324. language:    C-like caluculator
  1325. package:    Arbitrary precision calculator
  1326. version:    1.26.4
  1327. parts:        interpreter
  1328. author:        David I. Bell <dbell@canb.auug.org.au>
  1329. location:    ftp pub/calc from ftp.uu.net
  1330. description:    Arbitrary precision C-like calculator [similar to BC? --ed]
  1331. ports:        Linux
  1332. updated:    1993/06/15
  1333.  
  1334. language:    Unix DC (arbitrary-precision arithmetic language)
  1335. package:    GNU DC
  1336. version:    0.2
  1337. parts:        interpreter
  1338. author:        ?
  1339. location:    ftp dc-0.2.tar.Z from a GNU archive site
  1340. description:    DC is the language for an arbitrary precision postfix
  1341.         calculator.  This version is a subset of DC that handles all
  1342.         the Unix DC operations, except the (undocumented) array
  1343.         operations.
  1344. status:        Attempting integration with GNU BC.
  1345. updated:    1993/05/21
  1346.  
  1347. language:    Fortran
  1348. package:    f2c
  1349. version:    1993.04.28
  1350. parts:        translator (to C), postscript documentation, man pages,
  1351.         support libraries.
  1352. author:        S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
  1353. location:    ftp from netlib@research.att.com:netlib/f2c/src/*
  1354. description:    translator (Fortran 77 to ANSI C or C++)
  1355. bugs:        D. M. Gay <dmg@research.att.com>
  1356. updated:    1993 April 27
  1357.  
  1358. language:    Fortran
  1359. package:    Floppy
  1360. version:    ?
  1361. parts:        ?
  1362. author:        ?
  1363. location:    ffccc in comp.sources.misc archive volume 12
  1364. description:    ?
  1365. contact:    ?
  1366. updated:    1992/08/04
  1367.  
  1368. language:    Fortran
  1369. package:    Flow
  1370. version:    ?
  1371. parts:        ?
  1372. author:        Julian James Bunn <julian@vxcrna.cxern.ch>
  1373. location:    comp.sources.misc archive volume 31
  1374. description:    The Flow program is a companion to Floppy, it allows the user
  1375.         to produce various reports on the structure of Fortran
  1376.         77 code, such as flow diagrams and common block tables.
  1377. requires:    Floppy
  1378. ports:        VMS, Unix, CMS
  1379. updated:    ?
  1380.  
  1381. language:    Fortran
  1382. package:    Adaptor (Automatic DAta Parallelism TranslatOR)
  1383. version:    1.0
  1384. parts:        preprocessor, library, documentation
  1385. author:        ?
  1386. location:    ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
  1387. description:    Adaptor is a tool that transforms data parallel
  1388.         programs written in Fortran with array extensions,
  1389.         parallel loops, and  layout directives    to parallel
  1390.         programs with explicit message passing.
  1391.         ADAPTOR is not a compiler but a source to source
  1392.         transformation that generates Fortran 77 host and
  1393.         node programs with message passing.  The new
  1394.         generated source codes have to be compiled by the
  1395.         compiler of the parallel machine.
  1396. ports:        CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
  1397.         network of Suns, or RS/6000s
  1398. contact:    Thomas Brandes <brandes@gmd.de>
  1399. updated:    1993/06
  1400.  
  1401. language:    Fortran, C
  1402. package:    cfortran.h
  1403. version:    2.6
  1404. parts:        macros, documentation, examples
  1405. author:        Burkhard Burow
  1406. location:    ftp cfortran/* from zebra.desy.de
  1407. description:    cfortran.h is an easy-to-use powerful bridge between
  1408.         C and FORTRAN. It provides a completely transparent, machine
  1409.         independent interface between C and FORTRAN routines and
  1410.         global data.
  1411.         cfortran.h provides macros which allow the C preprocessor to
  1412.         translate a simple description of a C (Fortran) routine or
  1413.         global data into a Fortran (C) interface.
  1414. reference:    reviewed in RS/Magazine November 1992 and
  1415.         a user's experiences with cfortran.h are to be described
  1416.         in the 1/93 issue of Computers in Physics.
  1417. ports:        VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
  1418.         Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
  1419. portability:    high
  1420. contact:    burow@vxdesy.cern.ch
  1421. updated:    1992/04/12
  1422.  
  1423. language:    Fortran
  1424. package:    fsplit
  1425. version:    ?
  1426. parts:        ?
  1427. author:        ?
  1428. location:    ?
  1429. description:    a tool to split up monolithic fortran programs
  1430. updated:    ?
  1431.  
  1432. language:    Fortran
  1433. package:    ?
  1434. version:    ?
  1435. parts:        ?
  1436. author:        Steve Mccrea <mccrea@gdwest.gd.com>
  1437. location:    ?
  1438. description:    a tool to split up monolithic fortran programs
  1439. requires:    new awk
  1440. updated:    ?
  1441.  
  1442. language:    Fortran
  1443. package:    Fortran77 -> Fortran90 converter
  1444. version:    ? 1
  1445. parts:        translator(Fortran 77 -> Fortran 90), documentation?
  1446. author:        metcalf@cernvm.cern.ch <Michael Metcalf>
  1447. location:    ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
  1448. description:    A Fortran77 to Fortran90 translator.  There's a number of
  1449.         significant differences between the two Fortrans that makes
  1450.         a package like this useful.
  1451. updated:    1993/07/17
  1452.  
  1453. language:    Fortran
  1454. package:    F-curses
  1455. version:    ?
  1456. parts:        library
  1457. author:        Wade Schauer <sal!wade@sactoh0.sac.ca.us>
  1458. location:    comp.sources.misc volume 44
  1459. description:    F-curses (C) is a library of Fortran and C routines that gives
  1460.         Fortran programmers tranparent access to the curses library (a
  1461.         C library).
  1462. restriction:    shareware
  1463. ports:        UNIX, MS-DOS
  1464. updated:    1994/10/10
  1465.  
  1466. language:    Fortran
  1467. iref:        (Fortran) Stanford SUIF Compiler
  1468.  
  1469. language:    Fortran
  1470. package:    ?
  1471. version:    ?
  1472. parts:        semantic analyser
  1473. author:        ?
  1474. location:    http://www.nag.co.uk:70/
  1475. description:    Fortran 90 semantic analyser
  1476. updated:    ?
  1477.  
  1478. language:    J
  1479. package:    J from ISI
  1480. version:    6
  1481. parts:        interpreter, tutorial
  1482. author:        Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
  1483. location:    ftp languages/apl/j/* from watserv1.waterloo.edu
  1484. description:    J was designed and developed by Ken Iverson and Roger Hui.  It
  1485.         is similar to the language APL, departing from APL in using
  1486.         using the ASCII alphabet exclusively, but employing a spelling
  1487.         scheme that retains the advantages of the special alphabet
  1488.         required by APL. It has added features and control structures
  1489.         that extend its power beyond standard APL.  Although it can be
  1490.         used as a conventional procedural programming language, it can
  1491.         also be used as a pure functional programming language.
  1492. ports:        Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
  1493.         IBM-PC, Atari, 3b1, Amiga
  1494. updated:    1992/10/31
  1495.  
  1496. language:    Ratfor
  1497. package:    ? ratfor ?
  1498. version:    ?
  1499. parts:        translator(Ratfor->Fortran IV)
  1500. author:        Brian Kernighan and P.J. Plauger (wrote the book anyway)
  1501. location:    comp.sources.unix archives volume 13
  1502. description:    Ratfor is a front end language for Fortran.  It was designed
  1503.         to give structured control structures to Fortran.  It is
  1504.         mainly of historical significance.
  1505. updated:    ?
  1506.  
  1507. language:    Y (cross between C and Ratfor)
  1508. package:    y+po
  1509. version:    ?
  1510. parts:        compiler
  1511. author:        Jack W. Davidson and Christopher W. Fraser
  1512. location:    ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
  1513. description:    Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
  1514.         idea and other optimization ideas came from] along with the Y
  1515.         compiler [cross between C+ratfor] is ftpable from
  1516.         ftp.cs.princeton.edu: /pub/y+po.tar.Z.    It is a copy of the
  1517.         original distribution from the University of Arizona during the
  1518.         early 80's, totally unsupported, almost forgotten [do not bug
  1519.         the authors] old code, possibly of interest to
  1520.         compiler/language hackers.
  1521. reference:    Jack W. Davidson and Christopher W. Fraser, "The Design and
  1522.          Application of a Retargetable Peephole Optimizer", TOPLAS, 
  1523.          Apr.  1980.
  1524.         Jack W. Davidson, "Simplifying Code Through Peephole
  1525.          Optimization" Technical Report TR81-19, The University of
  1526.          Arizona, Tucson, AZ, 1981.
  1527.         Jack W. Davidson and Christopher W. Fraser, "Register
  1528.          Allocation and Exhaustive Peephole Optimization"
  1529.          Software-Practice and Experience, Sep. 1984.
  1530. status:        history
  1531. updated:    ?
  1532.  
  1533. electrical engineering languages
  1534. -------------------------------------------------------------------------------
  1535. category:    electrical engineering languages
  1536. description:    These are languages used for simulating, designing, and
  1537.         specifying circuits.
  1538.  
  1539. language:    CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
  1540. package:    Ptolemy
  1541. version:    0.4.1
  1542. parts:        grahpical algorithm layout, code generator, simulator
  1543. author:        ?
  1544. location:    ftp pub/ptolemy/* from ptolemy.bekeley.edu
  1545. description:    Ptolemy provides a highly flexible foundation for the
  1546.         specification, simulation, and rapid prototyping of systems.
  1547.         It is an object oriented framework within which diverse models
  1548.         of computation can co-exist and interact.  For example, using
  1549.         Ptolemy a data-flow system can be easily connected to a
  1550.         hardware simulator which in turn may be connected to a
  1551.         discrete-event system, etc.  Because of this, Ptolemy can be
  1552.         used to model entire systems.
  1553.         In addition, Ptolemy now has code generation capabilities.
  1554.         from a flow graph description, Ptolemy can generate both C code
  1555.         and DSP assembly code for rapid prototyping.  Note that code
  1556.         generation is not yet complete, and is included in the current
  1557.         release for demonstration purposes only.
  1558. requires:    C++, C
  1559. ports:        Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
  1560. status:        active research project
  1561. discussion:    ptolemy-hackers-request@ohm.berkeley.edu
  1562. contact:    ptolemy@ohm.berkeley.edu
  1563. updated:    1993/04/22
  1564.  
  1565. language:    EDIF (Electronic Design Interchange Format)
  1566. package:    Berkeley EDIF200
  1567. version:    7.6
  1568. parts:        translator-building toolkit
  1569. author:        Wendell C. Baker and Prof A. Richard Newton of the Electronics
  1570.         Research Laboratory, Department of Electrical Engineering and
  1571.         Computer Sciences at the University of California, Berkeley, CA
  1572. location:    ftp from pub/edif in ic.berkeley.edu
  1573. description:    ?
  1574. restriction:    no-profit w/o permission
  1575. ports:        ?
  1576. updated:    1990/07
  1577.  
  1578. language:    Verilog, XNF
  1579. package:    XNF to Verilog Translator
  1580. version:    ?
  1581. parts:        translator(XNF->Verilog)
  1582. author:        M J Colley <martin@essex.ac.uk>
  1583. location:    ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
  1584. description:    This program was written by a postgraduate student as part
  1585.         of his M.Sc course, it was designed to form part a larger
  1586.         system operating with the Cadence Edge 2.1 framework. This
  1587.         should be born in mind when considering the construction
  1588.         and/or operation of the program.
  1589. updated:    ?
  1590.  
  1591. language:    VHDL
  1592. package:    ALLIANCE
  1593. version:    1.1
  1594. parts:        compiler, simulator, tools and environment, documentation
  1595. author:        ?
  1596. location:    ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
  1597. description:    ALLIANCE 1.1 is a complete set of CAD tools for teaching
  1598.         Digital CMOS VLSI Design in Universities. It includes VHDL
  1599.         compiler and simulator, logic synthesis tools, automatic place
  1600.         and route, etc...  ALLIANCE is the result of a ten years effort
  1601.         at University Pierre et Marie Curie (PARIS VI, France).
  1602. ports:        Sun4, also not well supported: Mips/Ultrix, 386/SystemV
  1603. discussion:    alliance-request@masi.ibp.fr
  1604. contact:    cao-vlsi@masi.ibp.fr
  1605. updated:    1993/02/16
  1606.  
  1607. language:    VHDL
  1608. package:    VHDL Object Model (VOM)
  1609. version:    1.0
  1610. parts:        parser
  1611. author:        David Benz <dbenz@thor.ece.uc.edu> and 
  1612.         Phillip Baraona <pbaraona@thor.ece.uc.edu>
  1613. location:    ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu
  1614. description:    VOM 1.0 is an object-oriented syntactic specification for VHDL
  1615.         written using the REFINE software design and synthesis
  1616.         environment.  In simpler terms, it is a VHDL parser which builds 
  1617.         an object tree from VHDL source code.
  1618.         If you are interested in transforming VHDL into some other form
  1619.         (source code, whatever) you might be interested in this. The
  1620.         parse tree (in the form of an object tree) is provided, you would 
  1621.         just need to add your own transformations.
  1622.         VOM isn't complete. The semantic information is not included
  1623.         (type checking, certain syntactic-rules, etc.). VOM 1.0 should
  1624.         parse most VHDL programs.  However, it will not detect errors
  1625.         such as a wait statement in a process statement with an
  1626.         explicit sensitivity list.
  1627. updated:    1994/11/01
  1628.  
  1629. -- 
  1630. Send compilers articles to compilers@iecc.com or
  1631. {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
  1632.  
  1633.